/**
 * 订单管理-订单查询
 * 
 * @author yellow
 */
var queryOrderVfSearch = function() {
	var queryOrdersVfFieldSet = new Ext.form.FieldSet({
		id : 'queryOrdersVfFieldSet',
		title : '查询条件',
		collapsible : true,// 可折叠
		buttonAlign : 'center',
		keys : [{
					key : 13, // 13代表回车
					fn : queryOrdersVf,
					scope : this
				}],
		items : [{
					layout : 'column',
					border : false,
					items : [{
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											xtype : 'textfield',
											anchor : '100%',
											fieldLabel : '物流公司电话',
											name : "shipperPhone"
										}]
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											xtype : 'textfield',
											anchor : '100%',
											fieldLabel : '收货人手机号',
											name : "consignPhone"
										}]
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											xtype : 'textfield',
											anchor : '100%',
											fieldLabel : '收货人',
											name : "consignee"
										}]
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											xtype : 'textfield',
											anchor : '100%',
											fieldLabel : '收货人地址',
											name : "consignAddress"
										}]
							}]
				}, {
					layout : 'column',
					border : false,
					items : [{
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											id : 'orderVfManager_id',
											xtype : 'numberfield',
											anchor : '100%',
											fieldLabel : '订单编号',
											name : "id",
											allowDecimals : false,
											allowNegative : false
										}]
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											id : "orderVfManager_orderCode",
											xtype : 'textfield',
											anchor : '100%',
											fieldLabel : '订单编码',
											name : "orderCode"
										}]
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											id : 'orderVfManager_orderStatusMultiCmb',
											xtype : 'dataDictionaryMultiCmb',
											anchor : '100%',
											fieldLabel : "订单状态",
											editable : false,
											autoLoad : false,
											hiddenValueId : 'orderVfManager_orderStatus',
											dictionaryType : PmsUtil.order_vf_status
										}]
							}, {
								id : 'orderVfManager_orderStatus',
								xtype : 'hidden',
								name : 'orderStatusIds'
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											id : 'orderVfManager_payTypesMultiCmb',
											xtype : 'dataDictionaryMultiCmb',
											anchor : '100%',
											fieldLabel : "支付方式",
											editable : false,
											autoLoad : false,
											hiddenValueId : 'orderVfManager_payType',
											dictionaryType : PmsUtil.orders_vf_pay_type
										}]
							}, {
								id : 'orderVfManager_payType',
								xtype : 'hidden',
								name : 'payTypes'
							}]
				}, {
					layout : 'column',
					border : false,
					items : [{
						columnWidth : .25,
						layout : 'form',
						border : false,
						items : [{
							xtype : 'textfield',
							anchor : '100%',
							fieldLabel : '物流公司名称',
							name : "shipperCodeName"
						}]
					}, {
						columnWidth : .25,
						layout : 'form',
						border : false,
						items : [{
							layout : 'column',
							border : false,
							items : [{
										text : '查询',
										xtype : 'button',
										width : 70,
										handler : function() {
											queryOrdersVf();
										},
										style : {
											marginLeft : "100px",
											marginRight : "10px"
										}
									}, {
										text : '重置',
										xtype : 'button',
										width : 70,
										handler : function() {
											queryOrderVfForm.getForm().reset();
											Ext
													.getCmp("orderVfManager_orderStatusMultiCmb")
													.reset();
											Ext
													.getCmp("orderVfManager_payTypesMultiCmb")
													.reset();
										}
									}]
						}]
					}, {}]
				}]
	});
	fieldSetListeners(['queryOrdersVfFieldSet', 'queryOrderVfForm',
					'orderVfManagerGrid'], [0.26, 0.74]);

	var queryOrderVfForm = new Ext.form.FormPanel({
				id : 'queryOrderVfForm',
				anchor : '100% 26%',
				frame : true,
				labelAlign : 'right',
				bodyBorder : false,
				items : [queryOrdersVfFieldSet]
			});
	return queryOrderVfForm;
};

/**
 * grids
 */

var orderVfManagerGrid = function() {
	var orderVfManagerSm = new Ext.grid.CheckboxSelectionModel();// 创建选择模式对象
	// 定义表的每列（对应表头信息）
	var orderVfManagerCm = new Ext.grid.ColumnModel([orderVfManagerSm,
			new Ext.grid.RowNumberer(), {
				dataIndex : "id",
				header : "订单编号",
				sortable : false,
				width : 70
			}, {
				dataIndex : "orderCode",
				header : "订单编码",
				sortable : false,
				width : 160,
				renderer : function(value, cellmeta, record, rowIndex,
						columnIndex, store) {
					var returnValue = "";
					var orderId = record.data.id;
					if (value) {
						returnValue = '<a href ="#" onClick="lookOrderVfManagerDetail(\''
								+ orderId + '\')">' + value + '</a>';
					}
					return returnValue;
				}
			}, {
				dataIndex : "userId",
				header : "用户编号",
				sortable : false,
				width : 70
			}, {
				dataIndex : "userName",
				header : "用户姓名",
				sortable : false,
				width : 70
			},
			{
				dataIndex : "orderStatus",
				header : "订单状态",
				sortable : false,
				width : 60,
				renderer : function(value) {
					return PmsUtil.OrderVfStatus(value);
				}
			}, {
				dataIndex : "payStatus",
				header : "支付状态",
				sortable : false,
				width : 60,
				renderer : function(value) {
					return PmsUtil.OrderPayStatus(value);
				}
			}, {
				dataIndex : "payType",
				header : "支付方式",
				sortable : false,
				width : 60,
				renderer : function(value) {
					return PmsUtil.VfPayType(value);
				}
			},
			{
				dataIndex : "goodsNumber",
				header : "商品数量",
				sortable : false,
				width : 70
			}, {
				dataIndex : "totalAmount",
				header : "订单总金额",
				sortable : false,
				width : 70,
				renderer : function(val) {
					return PmsUtil.Price(val);
				}
			}, {
				dataIndex : "payAmount",
				header : "实际支付金额",
				sortable : false,
				width : 90,
				renderer : function(val) {
					return '<font color=\"#FF0000\" >' + PmsUtil.Price(val)
							+ '</font>';
				}
			}, {
				dataIndex : "shipperCodeName",
				header : "物流公司名称",
				sortable : false,
				width : 100
			}, {
				dataIndex : "shipperPhone",
				header : "物流公司电话",
				sortable : false,
				width : 100
			}, {
				dataIndex : "consignee",
				header : "收货人",
				sortable : false,
				width : 70
			}, {
				dataIndex : "consignPhone",
				header : "收货人电话",
				sortable : false,
				width : 100
			}, {
				dataIndex : "consignAddress",
				header : "收货人地址",
				sortable : false,
				width : 130,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="收货人地址:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "isNeedInvoice",
				header : "是否需要发票",
				sortable : false,
				width : 120,
				renderer : function(value) {
					if (value == '1') {
						return '<font color=\"#FF0000\" >'
								+ PmsUtil.isNeedInvoice(value) + '</font>';
					}
					return PmsUtil.isNeedInvoice(value);
				}
			}, {
				dataIndex : "invoiceTitle",
				header : "发票抬头",
				sortable : false,
				width : 100,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="发票抬头:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "invoiceContent",
				header : "发票内容",
				sortable : false,
				width : 100,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="发票内容:" ext:qtip="' + value
								+ '"';
						return value;
					}
				}
			}, {
				dataIndex : "createdDate",
				header : "创建时间",
				sortable : false,
				width : 130
			}, {
				dataIndex : "createdName",
				header : "创建人",
				sortable : false,
				width : 70
			}, {
				dataIndex : "receivedDate",
				header : "确认收货时间",
				sortable : false,
				width : 140
			},{
				dataIndex : "remark",
				header : "备注",
				sortable : false,
				width : 100,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="备注:" ext:qtip="' + value + '"';
						return value;
					}
				}
			}, {
				header : "管理",
				width : 100,
				dataIndex : "id",
				renderer : function(j, i, g, m, h) {
					var orderId = g.data.id;
					var k = "";
					if (isGranted("orderVfManager_订单详情")) {
						k += '&nbsp;&nbsp;<a href="#" onclick="lookOrderVfManagerDetail('
								+ orderId + ')\">订单详情</a>';
					}
					return k;
				}
			}]);

	// 定义分析器
	var orderVfManagerReader = new Ext.data.JsonReader({
				totalProperty : "totalCount",
				root : "list",
				fields : [{
							name : "id"
						}, {
							name : "orderCode"
						}, {
							name : "userId"
						}, {
							name : "userName"
						}, {
							name : "userPaymentId"
						}, {
							name : "orderStatus"
						}, {
							name : "payStatus"
						}, {
							name : "payType"
						}, {
							name : "orderSource"
						}, {
							name : "payDate"
						}, {
							name : "limitPayDate"
						}, {
							name : "totalAmount"
						}, {
							name : "goodsNumber"
						}, {
							name : "payAmount"
						}, {
							name : "couponType"
						}, {
							name : "couponCode"
						}, {
							name : "couponId"
						}, {
							name : "couponFee"
						}, {
							name : "couponSource"
						}, {
							name : "consignee"
						}, {
							name : "consignPhone"
						}, {
							name : "consignAddress"
						}, {
							name : "remark"
						}, {
							name : "isNeedInvoice"
						}, {
							name : "invoiceContent"
						}, {
							name : "invoiceTitle"
						}, {
							name : "payGoodsName"
						},{
							name : "createdDate"
						}, {
							name : "createdName"
						}, {
							name : "updatedDate"
						}, {
							name : "updatedName"
						}, {
							name : "logisticNo"
						},{
							name : 'orderType'
						},{
							name : 'shipperCode'
						},{
							name : 'shipperCodeName'
						},{
							name : 'shipperPhone'
						},{ 
							name: 'receivedDate'
						}]
			});

	// 取数据store
	var orderVfViewStore = new Ext.data.Store({
				// autoLoad : true,// 要加载数据必须设置为true
				proxy : new Ext.data.HttpProxy({
							url : __ctxPath + "/orderVfManager/selectOrdersVf"
						}),
				remoteSort : true,
				baseParams : {
					start : 0,
					limit : 25
				},
				listeners : {
					beforeload : {
						fn : function(thiz, options) {
							Ext.apply(thiz.baseParams, Ext
											.getCmp('queryOrderVfForm').getForm()
											.getValues());
						}
					}
				},
				reader : orderVfManagerReader
			});
	orderVfViewStore.setDefaultSort("od.id", "desc");
	var orderVfManagerTb = new Ext.Toolbar({// 定义grid的toolbar
		height : 25,
		items : []
	});


	orderVfManagerTb.add(new Ext.Toolbar.Spacer());
	orderVfManagerTb.add(new Ext.scm.Button({
				text : "刷 新",
				width : 80,
				iconCls : "btn-refresh",
				hsValue : "orderVfManager_刷新",
				pressed : true,
				handler : function() {
					queryOrdersVf();
				}
			}));

	var orderVfManagerGrid = new Ext.grid.GridPanel({
				id : 'orderVfManagerGrid',
				store : orderVfViewStore,
				cm : orderVfManagerCm,
				sm : orderVfManagerSm,
				autoScroll : true,
				loadMask : true,
				stripeRows : true,
				columnLines : true,
				loadMask : {
					msg : "正在加载数据，请稍侯……"
				},
				viewConfig : {
					emptyText : '没有您想要的数据!'
				},
				anchor : '100% 74%',
				frame : true,
				tbar : orderVfManagerTb,
				bbar : new PG.PagingBar({
							store : orderVfViewStore,
							isShowTwoHunder : true
						})
			});
	return orderVfManagerGrid;
};


// 查询
function queryOrdersVf() {
	var grid = Ext.getCmp("orderVfManagerGrid");
	var form = Ext.getCmp("queryOrderVfForm");
	if (form.getForm().isValid()) {
		grid.getStore().load();
	}
}
// 发货
function stockSend(orderId) {
	try {
		stockSendWin(orderId).show();
	} catch (Error) {
		Ext.Loader.load([__ctxPath + '/js/order/stockSendForm.js'], function() {
					stockSendWin(orderId).show();
				});
	}

}

/**
 * 查看订单详情
 * 
 * @param {}
 *            id
 */
function lookOrderVfManagerDetail(id) {
	var centerPanel = App.getContentPanel();
	var tab = centerPanel.getItem(PmsUtil.ORDER_VF_MESSAGE_DETAIL);
	var createNewTab = new CreatNewTab(PmsUtil.ORDER_VF_MESSAGE_DETAIL, '订单详情');
	if (tab == null) {
		createNewTab.createNew(tab);
	} else {
		createNewTab.createOld(tab, ['lookOrderVfDetailFields',
						'lookOrderVfDetailForm', 'lookOrderVfDetailGrid']);
	}
	Ext.Loader.load([__ctxPath + '/js/order_vf/orderVfDetail.js'], function() {
				Ext.getCmp("centerTabPanel").getActiveTab().add(
						lookOrderVfDetailSearch(id), orderVfDetailGrid(id));
				Ext.getCmp("centerTabPanel").getActiveTab().doLayout();
			});
}

Ext.getCmp("centerTabPanel").getActiveTab().add(queryOrderVfSearch(),
		orderVfManagerGrid());
Ext.getCmp("centerTabPanel").getActiveTab().doLayout();
